package com.starry.JavaEEStudy;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;

public class ContextServlet3 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取web.xml中配置的上下文参数context-param

        String userkey = getServletConfig().getServletContext().getInitParameter("contextParam1");
        System.out.println("contextservlet上下文contextParam1:" + userkey);
        System.out.println("contextservlet上下文contextParam2:" + getServletContext().getInitParameter("contextParam2"));
        //默认是用的自定义参数的，通过观察getInitParameter方法实现
        System.out.println("servlet init自定义参数servletInitParam3:" + getInitParameter("servletInitParam3"));

        //获取当前的工程路径，格式：/工程路径
        System.out.println("当前工程路径:" + getServletContext().getContextPath()); // /javaeestudy

        //获取工程部署后在服务器硬盘上的绝对路径
        /*
        / 代表的是http://ip:port/工程名
        获取到的工程部署路径 里面的内容是webapp文件夹内容复制过去的
        * */
        System.out.println("工程部署的路径:" + getServletContext().getRealPath("/"));// E:\DzhWorkSpace\JavaEEStudy\target\JavaEEStudy-1.0-SNAPSHOT\
        // 获取css文件夹下的1.css文件路径
        System.out.println("工程部署的路径:" + getServletContext().getRealPath("/css/1.css")); //E:\DzhWorkSpace\JavaEEStudy\target\JavaEEStudy-1.0-SNAPSHOT\css\1.css

        //像Map一样存取数据
        //ServletContext对象是一个域对象（这里的域指的是存取数据的操作范围）
        //ServletContext是在web工程部署启动的时候创建，在web工程停止的时候销毁
        //也就是说其他Servlet类中也能访问到这个key1的值
        getServletContext().setAttribute("key1", "我是key1的值value1");
        System.out.println("我是Context3,servletContext中 key1的值是" + getServletContext().getAttribute("key1"));
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}
